// 防抖
// 在指定时间里，保留最后一次执行
function debounce(fn, delay = 300){
    let timer //闭包引用的外界变量
    return function () {
        const args = arguments
        if(timer) {
            clearTimeout(timer)
        }
        timer = setTimeout(() => {
            fn.apply(this, args)
        }, delay);
        
    }
}

function fun(index){
    console.log( index)
}

const afterFun = debounce(fun, 10)
afterFun(1)
afterFun(2)
afterFun(3)
afterFun(4)
afterFun(5)


function debounce(fn, ){
    // 多次执行只保留第一次执行
    let timer = null
    if(!timer){
        timer = setTimeout(()=>{
            fn()
        }, )
    }

}




